package cn.my.android_demo.api;

import cn.my.android_demo.model.ChangePass;
import cn.my.android_demo.model.LoginForm;
import cn.my.android_demo.model.LoginResp;
import cn.my.android_demo.model.RespData;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface Api {
    /**
     * 登录
     * @param login 登录
     * @return
     */
    @POST("/login")
    Call<ResponseBody> login(@Body LoginForm login);

    @GET("/logout")
    void logout();

    /**
     *  验证码
     * @param h 图片长
     * @param w 图片宽
     * @param t 登录的时候填写账号
     * @param f 方法 ：默认为login登录验证码，
     *          userDel 删除用户，
     *          channelDel频道删除，
     *          changePass修改密码，
     *          restPass重置密码，
     *          userBlack用户黑名单
     * @param b 0 base64字符串
     *          1二进制流
     *
     */
    @GET("/validImgCode")
    Call<ResponseBody> validImgCode(@Query("h") Integer h,
                      @Query("w") Integer w,
                      @Query("t") String t,
                      @Query("f") String f,
                      @Query("b") Integer b
                      );

    /**
     * 刷新指令
     * @return
     */
    @POST("/refreshToken")
    Call<RespData<LoginResp>> refreshToken();

    /**
     * 修改密码
     * @param form
     * @return
     */
    @POST("/changePass")
    Call<RespData<String>> changePass(@Body ChangePass form);

//    @POST("")
//    Call<RespData<LoginResp>> login(@Body LoginForm user);

}
